Explicit variable initializations with null values are superfluous, since unassigned variables are implicitly initialized to null.
Noncompliant code example
SET SERVEROUTPUT ON
DECLARE
foo PLS_INTEGER := NULL; -- Noncompliant, the null assignation is superfluous
bar VARCHAR2(100) := ''; -- Noncompliant, the null assignation is superfluous
correctInitializedString VARCHAR2(100) := 'Hello world!';
BEGIN
IF foo IS NULL THEN
DBMS_OUTPUT.PUT_LINE('foo is NULL');
ELSE
DBMS_OUTPUT.PUT_LINE('foo is NOT NULL');
END IF;
END;
/
Compliant solution
SET SERVEROUTPUT ON
DECLARE
foo PLS_INTEGER;
bar VARCHAR2(100);
correctInitializedString VARCHAR2(100) := 'Hello world!';
BEGIN
IF foo IS NULL THEN
DBMS_OUTPUT.PUT_LINE('foo is NULL');
ELSE
DBMS_OUTPUT.PUT_LINE('foo is NOT NULL');
END IF;
END;
/